Code Scrawl TODO

TODOs section 1

  • @TODO add handling of @TODOs throughout a codebase
  • @TODO I should add config regarding the generated files to output (Should exports be output? Should README.md be output?)
  • @TODO Make verbs in markdown source files extensible (so not every script has to preg_ for the @verb(key) they care about)
    • This would make the @import(key) feature Verb-extension driven, rather than preg_ driven
  • @TODO Add special handling for project_root/README.md...
  • @TODO Allow @import(key) to function anywhere in markdown (not JUST at start of line)

TODOs section 2

  • @TODO Add to packagist & setup composer install
  • @TODO Option to output PROJECT_ROOT/README.md

TODO Maybe

  • @TODO Document Classes, Functions, Properties, etc
    • This would need two layers: One to export those details, the other to write them into Markdown files
  • @TODO Integrate existing documentation generators (instead of writing class+func+prop finders/parsers for a bunch of diff languages)

template Verbs I want to add

This is things like @import(AKey) in your *.src.md files.

  • @TODO a description to export the TODO
  • @TODO(*) to output all TODOs (or something like it)
    • @TODO(rel/file.ext) to output all TODOs from rel/file.ext
  • @class(ClassName) to output [FqnClassName](LinkToClassFile)
  • @function(FunctionName) to output [function_name()](LinkToFunctionFile)
  • @link(rel/path) where rel/path is the PROJECT_ROOT to output a link to a file
    • This would have built-in error reporting, making it better than writing it out manually

Source verbs I want to add

Things like @export(AKey) in your source code files

  • @TODO a description to export a TODO
  • @featured to export the next line (or something)
    • Idea is to be able to import a list of featured methods or something... This would go along with api doc generation, if I add such a feature. This way, the api documentation could have less bloat

ToDONEs for v 0.0.03

  • Wrote a new README.
  • Wrote a Configs extension
  • Wrote an Events extension
  • Delete old code from this branch.
  • Handle user configuration
  • Smart defaults for configs
  • Re-approach how the CLI thing works
  • Wrote InputExtensions as I expect them to work
  • Moved all code to the files they belong in
  • Sequestered old code (twice)
  • implemented a cleaner approach to keeping track of multiple regexes (using an array with nice keys, instead of multiple properties)
  • Redesigned this library's architecture to be extensible (this was the HARD part)
  • Written some new code to support the extensible version of this that I'm doing now
  • wrote a simple docblock class
  • Was very nice to myself about all the old code I had written that was sloppy, confusing, and hard to follow. <3
  • Wrote this READMENOW file to make Future Reed very happy and less overwhelmed.
  • I love you future Reed. (lol. If you're NOT a Reed, maybe do something to make your future self happy. Or maybe don't. Maybe your future self is an evil duck & you don't want evil ducks to be happy. I don't know your life.) - Present Reed (but i guess its kinda past Reed, if you think about it)

Maybe eventually?

Things that would be cool to eventually do, but I probably won't ever put in the time for, because I have a life & I'm not trying to make money from this, and it would take a lot of time, and it would be sweet, but its too much for me cause I have other projects:

  • Put up a nice website
  • Host other people's documentation?
  • Integrate with CI/CD workflows (is that possible? Since its PHP & I doubt github CI will run "random" php code? idk. idk. I guess it runs phpunit.)